Skip to content

Conversation

@heemankv
Copy link
Contributor

@heemankv heemankv commented Nov 13, 2025

Scenario 1 (Test 1): Deep nesting → LibraryCall

A → B → C → LibraryCall → Error
✗   ✗   ✓   ✓ (filter intermediates, keep last CallContract + LibraryCall)

Reasoning: LibraryCall is where the real error occurred, C's traceback shows the transition point.


Scenario 2 (Test 2): Alternating calls with LibraryCalls

A → LibraryCall → B → LibraryCall → Error
✓   ✓             ✓   ✓ (keep all - each transition is meaningful)

Reasoning: Each CallContract→LibraryCall transition represents a meaningful execution boundary.


Scenario 3 (Test 3): Pure CallContract chain to error

A → B → StringFrame Error
✓   ✓   (keep all - no LibraryCall, full chain context needed)

Reasoning: Without LibraryCall, the CallContract chain itself IS the error story. Removing A's traceback would lose critical context about how we got to B.

@heemankv heemankv self-assigned this Nov 18, 2025
@heemankv heemankv marked this pull request as ready for review November 18, 2025 13:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: No status

Development

Successfully merging this pull request may close these issues.

2 participants